<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>symbol</title>
</head>

<body>
    <script>
        // Symbol特点：
        // 1) Symbol的值是唯一的， 用来解决命名冲突的问题
        // 2) Symbol值不能与其他数据进行运算
        // 3) Symbol定义的对象属性不能使用for...in循环遍历， 但是可以使用Reflect.ownKeys来获取对象的所有键名

        //创建Symbol
        let s = Symbol();
        // console.log(s, typeof s);
        let s2 = Symbol('尚硅谷');
        let s3 = Symbol('尚硅谷');
        // s2！==s3
        //Symbol.for 创建(被登记在全局环境中供搜索)
        let s4 = Symbol.for('尚硅谷');
        let s5 = Symbol.for('尚硅谷');
        // s4===s5

        //不能与其他数据进行运算
        //    let result = s + 100;
        //    let result = s > 100;
        //    let result = s + s;

        // USONB  you are so niubility （数组是对象，不包含）
        // u  undefined
        // s  string  symbol
        // o  object
        // n  null number
        // b  boolean
    </script>
</body>

</html>